package org.jet.emall.prod.transfer;


import org.jet.emall.prod.dto.NewSkuDTO;
import org.jet.emall.prod.dto.SkuDTO;
import org.jet.emall.prod.dto.SkuDetailsDTO;
import org.jet.emall.prod.model.NewSkuModel;
import org.jet.emall.prod.model.UpdateSkuDetailsModel;
import org.jet.emall.prod.vo.SkuDetailsVO;
import org.jet.emall.prod.vo.SkuVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;


/**
 * @author xiaozai
 * @version 1.0
 * @date 2020-04-15 10:10
 */
@Mapper
public interface SkuVoTransfer {

    SkuVoTransfer INSTANCE = Mappers.getMapper(SkuVoTransfer.class);


    /**
     *  将SKU详情 DTO 转 VO
     * @param dto
     * @return
     */
    SkuDetailsVO toVo(SkuDetailsDTO dto);

    /**
     *  将更新的SKU 详情模型 转 DTO
     * @param updateSkuDetailsModel
     * @return
     */
    SkuDetailsDTO toDto(UpdateSkuDetailsModel updateSkuDetailsModel);


    /**
     *  将新建的 SKU 模型 转 DTO
     * @param model
     * @return
     */
    NewSkuDTO toDto(NewSkuModel model);


    /**
     *  将 SKU的DTO列表转VO列表
     * @param dtoList
     * @return
     */
    List<SkuVO> toVoList(List<SkuDTO> dtoList);


}
